package org.kiwi.job.service;

import org.kiwi.job.vo.JobLogVO;
import org.kiwi.job.vo.JobVO;

import java.util.List;

/**
 * @email jack.liu.19910921@gmail.com
 * Created by jack on 17/2/19.
 */
public interface ScheduleJobService {

    /**
     * 新增或更新任务
     */
    void saveOrUpdateJob(JobVO jobVO);


    /**
     * 保存任务日志
     *
     * @param jobLogVO 任务日志详情
     */
    void saveJobLog(JobLogVO jobLogVO);

    /**
     * 获取任务运行纪录
     *
     * @param jobCode
     * @param pageSize
     * @param pageNum
     * @return
     */
    List<JobLogVO> queryRunningRecordForPage(String jobCode, Long pageSize, Long pageNum);

    /**
     * 获取所有任务
     *
     * @return
     */
    List<JobVO> queryAllJob();

    /**
     * 获取指定任务
     *
     * @return
     */
    JobVO loadJob(String jobCode);

    /**
     * 获取指定任务
     *
     * @param jobCode
     * @param refresh
     * @return
     */
    JobVO loadJob(String jobCode, boolean refresh);

}
